package com.example.vdmtest;

import android.app.Application;
import android.content.Context;

import com.vivo.ic.BaseLib;
import com.vivo.ic.VLog;
import com.vivo.ic.dm.DownloadManager;
import com.vivo.ic.dm.DownloadNetChangeDealer;
import com.example.vdmtest.tools.DownloadConfig;
import com.example.vdmtest.tools.NotiDealer;
import com.example.vdmtest.tools.Notifier;

public class MainApplication extends Application {
    public static final String PRE_TAG = "DMDO-";
    public static final String TAG = PRE_TAG + "MainApplication";
    private static Context sContext;
    
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
    }

    @Override
    public void onCreate() {
        super.onCreate();
        sContext = this;
        VLog.d(TAG, "Application onCreate");
        // 传递applicationContext给DM，并附上模块特有tag标签，用于区分log
        BaseLib.init(this, PRE_TAG);
        // 开启DM所有等级的log
        BaseLib.fullLog();
        
        // ******************************下载管理器可选配置********************************//
        DownloadConfig config = new DownloadConfig.Builder()
                .setDownloadNotifier(new Notifier(this)) // 可选设置：设置通知如何展示，不设置则无状态栏展示
                .setDownloadNotiDealer(new NotiDealer()) // 可选设置：设置通知如何处理，不设置则状态栏点击后无反应
                .setNetChangeDealer(new DownloadNetChangeDealer(this)) // 可选设置：设置网络切换如何处理，不设置则会默认开启wifi切换到移动网络就暂停下载的功能
                .build();
        // 可选设置：设置自定义参数，不设置则会直接使用Config为默认值
        DownloadManager.getInstance().init(config);
        
    }

    public static Context getInstance() {
        return sContext;
    }
}
